[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 --                      Decrement Operator (prefix and postfix)

 lvalue--                postfix decrement
 --lvalue                prefix decrement
   lvalue                any variable of type int, float, pointer, char,
                         enum, or related type

    The unary postfix operator -- decrements (subtracts one from ) lvalue
    after the expression containing lvalue has been evaluated. For
    example:

             j = 10; i = 5 * j--; /* i == 50, j == 9 */

    The unary prefix operator -- decrements lvalue before the expression
    containing lvalue has been evaluated. For example:

              j = 10; i = 5 * --j;  /* i == 45, j == 9 */

       Note:    In the case of pointers, -- moves the pointer to the
                previous element.  For example, if ptr is a pointer to a
                4-byte long, ptr-- actually subtracts 4 from ptr, thereby
                aiming it at the previous 4-byte long, not at the
                previous byte.  Decrementing a pointer to char always
                subtracts 1, on any machine.

                For pointers, both *(--lvalue) and lvalue[-1] fetch the
                same element. (We're not suggesting that you actually use
                a negative index.  Caveat Emptor.)


See Also: ++
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson